package xdu.lz.provider;

import xdu.lz.protocol.Protocol;
import xdu.lz.protocol.ProtocolFactory;
import xdu.lz.framework.URL;
import xdu.lz.protocol.http.HttpServer;
import xdu.lz.provider.api.HelloService;
import xdu.lz.provider.impl.HelloServiceImpl;
import xdu.lz.register.LocalRegister;
import xdu.lz.register.RemoteMapRegister;
import xdu.lz.register.ZookeeperRegister;

public class Provider {

    public static void main(String[] args) {
        // 注册服务，从VM options中获取端口
        URL url = new URL("localhost", Integer.parseInt(System.getProperty("dubbo.port")));
        LocalRegister.register(HelloService.class.getName(),HelloServiceImpl.class);
        RemoteMapRegister.register(HelloService.class.getName(), url);
        ZookeeperRegister.register(HelloService.class.getName(), url);

        // 启动协议，根据vm options或者自己实现的jar依赖的配置文件，选择不同的暴露协议
        //如 dubbo  http  socket  等
        Protocol protocol = ProtocolFactory.getProtocol();
        //暴露服务
        protocol.export(url);
    }

}
